package factura.beans;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import org.richfaces.component.UIDataTable;

import factura.dao.HibernateUtilDAO;
import factura.modelo.Emisor;

@ManagedBean
@SessionScoped
public class EmisorBean {
	//PROPIEDADES
	
	private int idEmisor;
	private String razonsocial;
	private String ruc;
	private String nomcomercial;
	private String direstablecimiento;
	private String codestablecimiento;
	private String resolucion;
	private String contribuyenteespecial;
	private String codpuntoemision;
	private String llevacontabilidad;
	private String logoimagen;
	private String tipoemision;
	private Integer tiempoespera;
	private String claveinterna;
	private String tipoambiente;
	private String direccionmatriz;
	private String token;
	
	private List<Emisor> lc=new ArrayList<Emisor>();
	private UIDataTable tabCL;
	
	public EmisorBean(){
		Emisor e=getLc().get(0);
		idEmisor=e.getIdEmisor();
		ruc=e.getRuc();
		razonsocial=e.getRazonsocial();
		nomcomercial=e.getNomcomercial();
		direstablecimiento=e.getDirestablecimiento();
		codestablecimiento=e.getCodestablecimiento();
		codpuntoemision=e.getCodpuntoemision();
		contribuyenteespecial=e.getContribuyenteespecial();
		llevacontabilidad=e.getLlevacontabilidad();
		tipoemision=e.getTipoemision();
		tipoambiente=e.getTipoambiente();
		
	}
	
	//FORM EDITAR
	
	public void editEm() {
		Emisor e=(Emisor)tabCL.getRowData();
		idEmisor=e.getIdEmisor();
		razonsocial=e.getRazonsocial();
		ruc=e.getRuc();
		nomcomercial=e.getNomcomercial();
		direstablecimiento=e.getDirestablecimiento();
		codestablecimiento=e.getCodestablecimiento();
		resolucion=e.getResolucion();
		contribuyenteespecial=e.getContribuyenteespecial();
		codpuntoemision=e.getCodpuntoemision();
		llevacontabilidad=e.getLlevacontabilidad();
		logoimagen=e.getLogoimagen();
		tipoemision=e.getTipoemision();
		tiempoespera=e.getTiempoespera();
		claveinterna=e.getClaveinterna();
		tipoambiente=e.getTipoambiente();
		direccionmatriz=e.getDireccionmatriz();
		token=e.getToken();
	}
	
	//GUARDAR EDICION
	
	public String saveEditEmisor() {
		Emisor e=new Emisor();
		e.setIdEmisor(idEmisor);
		e.setRazonsocial(razonsocial);
		e.setRuc(ruc);
		e.setNomcomercial(nomcomercial);
		e.setDirestablecimiento(direstablecimiento);
		e.setCodestablecimiento(codestablecimiento);
		e.setResolucion(resolucion);
		e.setContribuyenteespecial(contribuyenteespecial);
		e.setCodpuntoemision(codpuntoemision);
		e.setLlevacontabilidad(llevacontabilidad);
		e.setLogoimagen(logoimagen);
		e.setTipoemision(tipoemision);
		e.setTiempoespera(tiempoespera);
		e.setClaveinterna(claveinterna);
		e.setTipoambiente(tipoambiente);
		e.setDireccionmatriz(direccionmatriz);
		e.setToken(token);
		
		try {
			HibernateUtilDAO.actualizar(e);
		} catch (Exception er) {
			er.getStackTrace();
		}
		return "";
	}
	
	//BORRAR CLIENTE
	
	public void delEM() {
		Emisor c=(Emisor)tabCL.getRowData();
		try {
			HibernateUtilDAO.eliminarObjeto(c);
		} catch (Exception e) {
			e.getStackTrace();
		}
	}
	
	//PROPIEDADES1
	
	private int idEmisor1;
	private String razonsocial1;
	private String ruc1;
	private String nomcomercial1;
	private String direstablecimiento1;
	private String codestablecimiento1;
	private String resolucion1;
	private String contribuyenteespecial1;
	private String codpuntoemision1;
	private String llevacontabilidad1;
	private String logoimagen1;
	private String tipoemision1;
	private Integer tiempoespera1;
	private String claveinterna1;
	private String tipoambiente1;
	private String direccionmatriz1;
	private String token1;
	
	private List<Emisor>lc1=new ArrayList<Emisor>();
	private UIDataTable tabCL1;
	
	//ADD CLIENTE A UN LIST
	
	public void cargarCL() {
		Emisor e=new Emisor();
		e.setRazonsocial(razonsocial1);
		e.setRuc(ruc1);
		e.setNomcomercial(nomcomercial1);
		e.setDirestablecimiento(direstablecimiento1);
		e.setCodestablecimiento(codestablecimiento1);
		e.setResolucion(resolucion1);
		e.setContribuyenteespecial(contribuyenteespecial1);
		e.setCodpuntoemision(codpuntoemision1);
		e.setLlevacontabilidad(llevacontabilidad1);
		e.setLogoimagen(logoimagen1);
		e.setTipoemision(tipoemision1);
		e.setTiempoespera(tiempoespera1);
		e.setClaveinterna(claveinterna1);
		e.setTipoambiente(tipoambiente1);
		e.setDireccionmatriz(direccionmatriz1);
		e.setToken(token1);
		lc1.add(e);
	}
	
	//DEL CLIENTE DE LIST
	
	public void delCL1() {
		Emisor e=(Emisor)tabCL1.getRowData();
		lc1.remove(e);
	}
	
	//GUARDAR EMISOR BDD
	
	public void ingresarEm() {
		try {
			for (int i = 0; i < lc1.size(); i++) {
				HibernateUtilDAO.insertarObjeto(lc1.get(i));				
			}
		} catch (Exception e) {
			e.getStackTrace();
		}
		lc1=new ArrayList<Emisor>();
	}
	
	//GET - SET PROPIEDADES
	


	public void setLc(List<Emisor> lc) {
		this.lc = lc;
	}

	public List<Emisor> getLc() {
		try {
			lc=HibernateUtilDAO.findAll("Emisor");
		} catch (Exception e) {
			e.getStackTrace();
		}
		return lc;
	}

	public void setTabCL(UIDataTable tabCL) {
		this.tabCL = tabCL;
	}

	public UIDataTable getTabCL() {
		return tabCL;
	}
	
	/*GET - SET PROPIEDADES1*/
	
	

	public void setTabCL1(UIDataTable tabCL1) {
		this.tabCL1 = tabCL1;
	}

	public String getLogoimagen1() {
		return logoimagen1;
	}

	public void setLogoimagen1(String logoimagen1) {
		this.logoimagen1 = logoimagen1;
	}

	public int getIdEmisor() {
		return idEmisor;
	}

	public void setIdEmisor(int idEmisor) {
		this.idEmisor = idEmisor;
	}

	public String getRazonsocial() {
		return razonsocial;
	}

	public void setRazonsocial(String razonsocial) {
		this.razonsocial = razonsocial;
	}

	public String getRuc() {
		return ruc;
	}

	public void setRuc(String ruc) {
		this.ruc = ruc;
	}

	public String getNomcomercial() {
		return nomcomercial;
	}

	public void setNomcomercial(String nomcomercial) {
		this.nomcomercial = nomcomercial;
	}

	public String getDirestablecimiento() {
		return direstablecimiento;
	}

	public void setDirestablecimiento(String direstablecimiento) {
		this.direstablecimiento = direstablecimiento;
	}

	public String getCodestablecimiento() {
		return codestablecimiento;
	}

	public void setCodestablecimiento(String codestablecimiento) {
		this.codestablecimiento = codestablecimiento;
	}

	public String getResolucion() {
		return resolucion;
	}

	public void setResolucion(String resolucion) {
		this.resolucion = resolucion;
	}

	public String getContribuyenteespecial() {
		return contribuyenteespecial;
	}

	public void setContribuyenteespecial(String contribuyenteespecial) {
		this.contribuyenteespecial = contribuyenteespecial;
	}

	public String getCodpuntoemision() {
		return codpuntoemision;
	}

	public void setCodpuntoemision(String codpuntoemision) {
		this.codpuntoemision = codpuntoemision;
	}

	public String getLlevacontabilidad() {
		return llevacontabilidad;
	}

	public void setLlevacontabilidad(String llevacontabilidad) {
		this.llevacontabilidad = llevacontabilidad;
	}

	public String getLogoimagen() {
		return logoimagen;
	}

	public void setLogoimagen(String logoimagen) {
		this.logoimagen = logoimagen;
	}

	public String getTipoemision() {
		return tipoemision;
	}

	public void setTipoemision(String tipoemision) {
		this.tipoemision = tipoemision;
	}

	public Integer getTiempoespera() {
		return tiempoespera;
	}

	public void setTiempoespera(Integer tiempoespera) {
		this.tiempoespera = tiempoespera;
	}

	public String getClaveinterna() {
		return claveinterna;
	}

	public void setClaveinterna(String claveinterna) {
		this.claveinterna = claveinterna;
	}

	public String getTipoambiente() {
		return tipoambiente;
	}

	public void setTipoambiente(String tipoambiente) {
		this.tipoambiente = tipoambiente;
	}

	public String getDireccionmatriz() {
		return direccionmatriz;
	}

	public void setDireccionmatriz(String direccionmatriz) {
		this.direccionmatriz = direccionmatriz;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public int getIdEmisor1() {
		return idEmisor1;
	}

	public void setIdEmisor1(int idEmisor1) {
		this.idEmisor1 = idEmisor1;
	}

	public String getRazonsocial1() {
		return razonsocial1;
	}

	public void setRazonsocial1(String razonsocial1) {
		this.razonsocial1 = razonsocial1;
	}

	public String getRuc1() {
		return ruc1;
	}

	public void setRuc1(String ruc1) {
		this.ruc1 = ruc1;
	}

	public String getNomcomercial1() {
		return nomcomercial1;
	}

	public void setNomcomercial1(String nomcomercial1) {
		this.nomcomercial1 = nomcomercial1;
	}

	public String getDirestablecimiento1() {
		return direstablecimiento1;
	}

	public void setDirestablecimiento1(String direstablecimiento1) {
		this.direstablecimiento1 = direstablecimiento1;
	}

	public String getCodestablecimiento1() {
		return codestablecimiento1;
	}

	public void setCodestablecimiento1(String codestablecimiento1) {
		this.codestablecimiento1 = codestablecimiento1;
	}

	public String getResolucion1() {
		return resolucion1;
	}

	public void setResolucion1(String resolucion1) {
		this.resolucion1 = resolucion1;
	}

	public String getContribuyenteespecial1() {
		return contribuyenteespecial1;
	}

	public void setContribuyenteespecial1(String contribuyenteespecial1) {
		this.contribuyenteespecial1 = contribuyenteespecial1;
	}

	public String getCodpuntoemision1() {
		return codpuntoemision1;
	}

	public void setCodpuntoemision1(String codpuntoemision1) {
		this.codpuntoemision1 = codpuntoemision1;
	}

	public String getLlevacontabilidad1() {
		return llevacontabilidad1;
	}

	public void setLlevacontabilidad1(String llevacontabilidad1) {
		this.llevacontabilidad1 = llevacontabilidad1;
	}

	public String getTipoemision1() {
		return tipoemision1;
	}

	public void setTipoemision1(String tipoemision1) {
		this.tipoemision1 = tipoemision1;
	}

	public Integer getTiempoespera1() {
		return tiempoespera1;
	}

	public void setTiempoespera1(Integer tiempoespera1) {
		this.tiempoespera1 = tiempoespera1;
	}

	public String getClaveinterna1() {
		return claveinterna1;
	}

	public void setClaveinterna1(String claveinterna1) {
		this.claveinterna1 = claveinterna1;
	}

	public String getTipoambiente1() {
		return tipoambiente1;
	}

	public void setTipoambiente1(String tipoambiente1) {
		this.tipoambiente1 = tipoambiente1;
	}

	public String getDireccionmatriz1() {
		return direccionmatriz1;
	}

	public void setDireccionmatriz1(String direccionmatriz1) {
		this.direccionmatriz1 = direccionmatriz1;
	}

	public String getToken1() {
		return token1;
	}

	public void setToken1(String token1) {
		this.token1 = token1;
	}

	public UIDataTable getTabCL1() {
		return tabCL1;
	}


}
